html-validate
Offline HTML5 validator. Validates either a full document or a smaller
(incomplete) template, e.g. from an AngularJS or Vue.js component.
Features
- Can test fragments of HTML, for instance a component template.
- Does not upload any data to a remote server, all testing is done locally.
- Strict and non-forgiving parsing. It will not try to correct any incorrect
markup or guess what it should do.
Usage
npm install -g html-validate
html-validate FILENAME..
Configuration
Create .htmlvalidate.json
:
{
"extends": [
"html-validate:recommended"
],
"rules": {
"close-order": "error",
"void": ["warn", {"style": "omit"}]
}
}
Example
<p>
<button>Click me!</button>
<div id="show-me">
Lorem ipsum
</div>
</p>
1:1 error Element <p> is implicitly closed by adjacent <div> no-implicit-close
2:2 error Button is missing type attribute button-type
6:4 error Unexpected close-tag, expected opening tag close-order
Test
Testing is done using jest.
npm test
or call jest
directly.
Some tests are autogenerated from documentation examples, use npm run build:docs
to build those before running.
Lint
Linting is done using ESLint.
npm run eslint
or call eslint
directly.
Build
npm run build
To build documentation use:
npm run build:docs
The documentation can be served locally using:
npm start